home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 11 / AMUG BBS in a Box Volume XI (April 1994) (MacWizards).iso / Files / Prog / T / ThinkHelper 1.0b1.sit / ThinkHelper 1.0b1 / Source (!) / Source / ListTools.c / ListTools.c
Encoding:
C/C++ Source or Header  |  1993-08-18  |  1.5 KB  |  73 lines  |  [TEXT/KAHL]

  1. /*
  2.     ListTools.c
  3.  
  4.     a bunch of AEList utilities
  5.  
  6.     © 1993 Steve Zellers, All rights Reserved
  7.     
  8.     <revision history>
  9.     05/27/93  smz  created
  10. */
  11.  
  12. #include "ListTools.h"
  13. #include "Exceptions.h"
  14.  
  15. void PutSelectionList(AppleEvent* reply, long selStart, long selEnd)
  16. {
  17.     AEDesc selList;
  18.     OSErr err;
  19.  
  20.     err = AECreateList(nil, 0, false, &selList);
  21.     FailErr(err);
  22.  
  23.     try {
  24.         err = AEPutPtr(&selList, 0, typeLongInteger, (void*) &selStart, sizeof(selStart));
  25.         FailErr(err);
  26.             
  27.         err = AEPutPtr(&selList, 0, typeLongInteger, (void*) &selEnd, sizeof(selEnd));
  28.         FailErr(err);
  29.  
  30.         err = AEPutParamDesc(reply, keyDirectObject, &selList);
  31.         AEDisposeDesc(&selList);
  32.     } catch {
  33.         AEDisposeDesc(&selList);
  34.         throw(theException);
  35.     }
  36.         
  37. }
  38.  
  39. void MakeMarkerList(PUFMarker* marker, AEDesc* oneMarkerList)
  40. {
  41.     OSErr err;
  42.  
  43.     err = AECreateList(nil, 0, false, oneMarkerList);
  44.     FailErr(err);
  45.     
  46.     try {
  47.         err = AEPutPtr(oneMarkerList, 0, typeChar, (void*) &marker->name[1], marker->name[0]);
  48.         FailErr(err);
  49.  
  50.         err = AEPutPtr(oneMarkerList, 0, typeLongInteger, (void*) &marker->selStart, sizeof(marker->selStart));
  51.         FailErr(err);
  52.             
  53.         err = AEPutPtr(oneMarkerList, 0, typeLongInteger, (void*) &marker->selEnd, sizeof(marker->selEnd));
  54.         FailErr(err);
  55.     } catch {
  56.         AEDisposeDesc(oneMarkerList);
  57.         throw(theException);
  58.     }
  59. }
  60.  
  61. void PushMarker(PUFMarker* marker, AEDesc* markerList)
  62. {
  63.     AEDesc oneMarkerList;
  64.     OSErr err;
  65.  
  66.     MakeMarkerList(marker, &oneMarkerList);
  67.     
  68.     err = AEPutDesc(markerList, 0, &oneMarkerList);
  69.     AEDisposeDesc(&oneMarkerList);
  70.     FailErr(err);
  71. }
  72.  
  73.